博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
完成注册功能
阅读量:4330 次
发布时间:2019-06-06

本文共 3320 字,大约阅读时间需要 11 分钟。

 

 

  1. js文件: onclick函数return True时才提交表单,return False时不提交表单。
  2. html文件:
    1. <form>中设置 action和method="post"
    2. <input> 中设置 name
  3. 主py文件中:
    1. from flask import  request, redirect, url_for
    2. @app.route('/regist/', methods=['GET', 'POST’])

 

def regist():

 

   if request.method == 'GET':

 

        return render_template('regist.html')

 

   else:

 

        username = request.form.get(‘username’)#获取form中的数据

 

        判断用户名是否存在:存在报错

  不存在,存到数据库中

   redirect重定向到登录页

 

from flask import Flask,render_template,request,redirect,url_for,sessionfrom flask_sqlalchemy import SQLAlchemyimport configapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)db = SQLAlchemy(app)# 创建用户模型class User(db.Model):    __tablename__ = 'user'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    username = db.Column(db.String(20), nullable=False)    password = db.Column(db.String(20), nullable=False)#db.create_all()@app.route('/')def homepage():    return render_template("homepage.html")@app.route('/login/')def login():    return render_template("login.html")@app.route("/register/",methods=['GET','POST'])def register():    if request.method == "GET":        return render_template("register.html")    else:        username = request.form.get("username")        password = request.form.get("password")        user = User.query.filter(User.username == username).first()        if user:            return 'username existed.'        else:            user = User(username=username, password=password)            db.session.add(user)            db.session.commit()            return redirect(url_for('login'))@app.route("/question/")def question():    return render_template("question.html")if __name__ == '__main__':    app.run(debug=True)
{% extends'index.html' %} {% block title %}     注册        {% endblock %}{% block head %}    
{% endblock %}{% block main %}

欢迎注册

账号 
密码 
再输入
{% endblock %}
function fnLogin() {        var uname = document.getElementById("name")        var uError = document.getElementById("error_box")        var upassword = document.getElementById("password")        var upasswordagain = document.getElementById("passwordagain")        var isError =true;         if(uname.value.length<6 || uname.value.length >20){        uError.innerHTML="用户名应为6到20字符";        isError = false;         return;    }else if ((uname.value.charCodeAt(0)>=48) && (uname.value.charCodeAt(0)<=57)){        uError.innerHTML="第一位只能是字母";        isError = false;        return ;    } else for (var i=0 ; i
57)&&(uname.value.charCodeAt(i)<97)|| uname.value.charCodeAt(i)>122){ uError.innerHTML="用户名只能为数字或者字母"; isError = false; return; } } if(upassword.value.length<6 || upassword.value.length>12){ uError.innerHTML="密码应为6到20字符"; isError = false; return; } if (upasswordagain.value!=upassword.value ) { uError.innerHTML = "重新输入你的密码"; isError = false; return; } return isError; window.alert("注册成功")}

 

 

 

  

转载于:https://www.cnblogs.com/JaTae/p/7875253.html

你可能感兴趣的文章
P3038 [USACO11DEC]牧草种植Grass Planting
查看>>
23 个最有吸引力和免费的Flash图像轮廓
查看>>
给label添加点击事件
查看>>
eterna 第一个案例
查看>>
新部署到服务器 报 The requested URL /home/profession was not found on this server. 错误
查看>>
hadoop从非HA转到NAMENODE HA时需要注意的一个问题
查看>>
KnockoutJs学习笔记(十一)
查看>>
访问修饰符public、private、protect、default范围
查看>>
jQuery实现布局高宽自适应
查看>>
《学习》10函数的建立与使用
查看>>
去除TB二合一页面弹窗
查看>>
托管和非托管的区别。
查看>>
win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)
查看>>
Java 集合知识总结(三)
查看>>
文件类型解析漏洞防御与攻击(PHP)
查看>>
初步认识AutoMapper转载 https://www.cnblogs.com/fred-bao/p/5700776.html
查看>>
条件与循环
查看>>
nodejs unit test related----faker-cli, sinonjs, mock/stub
查看>>
20165331 缓冲区溢出漏洞实验
查看>>
二叉树的非递归层次遍历算法
查看>>